package com.woniuxy.cloud.userassembly.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.woniuxy.cloud.api.dto.RoleDto;
import com.woniuxy.cloud.dto.BaseDto;
import com.woniuxy.cloud.userassembly.dto.UsersSelRolesDto;
import com.woniuxy.cloud.userassembly.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.cloud.userassembly.param.RolesPageAndByKeyParam;
import com.woniuxy.cloud.userassembly.param.SaveRoleParam;
import com.woniuxy.cloud.userassembly.param.UpdateRoleParam;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 周川雄
 * @since 2022-01-26
 */
public interface RoleService extends IService<Role> {

    BaseDto<Role> listRoles(RolesPageAndByKeyParam rp);

    UsersSelRolesDto listRolesByUserId(Integer userId);

    boolean removeUserByIds(List<Integer> ids);

    boolean SaveRole(SaveRoleParam srp);

    RoleDto findRoleById(Integer roleId) throws JsonProcessingException;

    boolean updateRole(UpdateRoleParam urp);
}
